﻿<?php
require_once 'application/controllers/admin.php';

class AdminNews extends Admin{
	
	public function __constructor()
	{
		parent::__construct();
	}
	
	public function index(){
		$this->news();
	}
	
	######################################################
	#		Администраторски дел за вести				 #
	######################################################
	
	//Функција која прикажува копче за додавање нова вест
	//и табела за менување на постоечките вести или бришење на вести
	public function news(){
		$user = $this->userCheck('news','admin/main');
		$this->load->helper('form');
		$this->load->model('news_model');
	
		$data['title'] = 'ФИНКИ - Администратор - Вести';
		$data['include']="admin/adminContent";
		$data['content'] = 'adminNews/news';
		$data['navbar'] = 'admin/main';
		$data['role'] = $user->role;
		$data['news'] = $this->news_model->getAll();
	
		$this->load->view('masterPage', $data);
	
	}
	
	//Функција која генерира страна за додавање на вест
	public function addNews(){
		$user = $this->userCheck('news','admin/main');;
	
		$this->load->helper('form');
	
		$data['title'] = 'ФИНКИ - Администратор - Додади вест';
		$data['include']="admin/adminContent";
		$data['content'] = 'adminNews/addNews';
		$data['navbar'] = 'admin/main';
		$data['role'] = $user->role;
	
		$this->load->view('masterPage', $data);
	}
	
	//Функција која генерира страна за менување на вест
	public function editNews($id){
		$user = $this->userCheck('news','admin/main');
	
		$this->load->helper('form');
		$this->load->model('news_model');
	
		$data['title'] = 'ФИНКИ - Администратор - Промени вест';
		$data['include']="admin/adminContent";
		$data['content'] = 'adminNews/editNews';
		$data['navbar'] = 'admin/main';
		$data['news'] = $this->news_model->getBy(array('idNewsPk' => $id));
		$data['role'] = $user->role;
	
		$this->load->view('masterPage', $data);
	}
	
	//Функција која брише вест
	public function deleteNews(){
		$user = $this->userCheck('news','admin/main');
		
		
		$this->load->model('news_model');
		
		$news = $this->news_model->getAll();
		
		foreach($news as $new)
			if($this->input->post($new->idNewsPk)!=null)
				$this->news_model->delete(array('idNewsPk'=>$new->idNewsPk));

		redirect('adminNews/news','refresh');
	}
	
	//Функција која прима податоци (преку post) за додавање или менување на вест.
	//Пронаоѓа дали треба да додаде или промени вест преку post('tip')
	public function processNews($id=null){
		$user = $this->userCheck('news','admin/main');
	
		if(!$this->input->post('submit'))
			redirect('admin/main','refresh');
	
		$this->load->library('form_validation');
		$this->load->helper('text');
		$this->load->model('news_model');
		$this->load->model('upload_model');
	
		$this->form_validation->set_rules('title', 'title', 'required|xss');
		$this->form_validation->set_rules('content', 'content', 'required|xss');
	
		$title = $this->input->post('title', TRUE);
		$language = $this->input->post('lang', TRUE);
		$content = $this->input->post('content', TRUE);
		$type = $this->input->post('tip', TRUE);
	
		//Дколку не помине валидацијата - пренесува на страна за грешка
		if ($this->form_validation->run() == FALSE)
		{
			redirect('error','refresh');
		}
	
		$imagePath = $this->upload_model->upload_image('news',uniqid(),300,151);
	
		$data = array('title' => $title,
				'content' => $content,
				'language' => $language,
				'dateAdded' => date('Y-m-d'),
				'idUserFk' => $user->idUserPk
		);
	
		if ($imagePath !== FALSE)
			$data['image'] = $imagePath;
	
		switch ($type){
			case 1:
				$this->news_model->insert($data);
				break;
			case 2:
				$this->news_model->update(array('idNewsPk' => $id),$data);
				break;
		}
	
		redirect('adminNews/news','refresh');
	}
}